﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using ParamSetCollection.General.Parameters.Normal;

namespace ParamSetCollection.General.ParamTable.JTRII.ParamGroup
{
    public class CTXParam : ParamTable.ParamGroupUnit
    {
        #region======================== 位变量 ========================================
        public enum bitCodeEnum
        {
            PLCModule1Enable, //（选配）
            PLCModule2Enable, //（选配）
            PLCModule3Enable, //（选配）
            PLCModule4Enable, //（选配）
            PLCModule5Enable, //（选配）
            PLCModule6Enable, //（选配）
            PLCModule7Enable, //（选配）
            PLCModule8Enable, //（选配）

            PLCModule9Enable, //（选配）
            PLCModule10Enable, //（选配）
            PLCModule11Enable, //（选配）
            PLCModule12Enable, //（选配）
            PLCModule13Enable, //（选配）
            PLCModule14Enable, //（选配）
            PLCModule15Enable, //（选配）
            PLCModule16Enable, //（选配）

            CodeCount
        }

        private void bitInit()
        {



        }
        #endregion========================================================================


        #region======================== 无符号字变量 ========================================
        public enum wordCodeEnum
        {


            CodeCount
        }

        private void WordInit()
        {

        }


        #endregion========================================================================


        #region======================== 有符号字变量 ========================================

        public ParameterUnit ReflowType = null;
        public ParameterUnit ZoneCount = null;
        public ParameterUnit CoolZoneCount = null;
        public ParameterUnit CoolingType = null;


        public void ShortInit()
        {
            shortParamDic = new Dictionary<string, ParameterUnit>()
            {
                {"ReflowType",ReflowType =new ParameterUnit("ReflowType")},
                {"ZoneCount",ZoneCount =new ParameterUnit("ZoneCount")},
                {"CoolZoneCount",CoolZoneCount =new ParameterUnit("CoolZoneCount")},
                {"CoolingType",CoolingType=new ParameterUnit("CoolingType") }

            };

            InitParamsType(shortParamDic, typeof(short), "D");
        }

        #endregion=====================================================================

        public CTXParam()
        {

            bitInit();
            WordInit();
            ShortInit();
            DWordInit();
        }







        #region======================== 双字变量 ========================================
        public ParameterUnit SensorDistance = null;


        private void DWordInit()
        {
            dwParamDic = new Dictionary<string, ParameterUnit>()
            {
                { "SensorDistance",SensorDistance=new ParameterUnit("SensorDistance")}

            };

            InitParamsType(dwParamDic, typeof(double),"D");
        }

        #endregion=====================================================================
    }
}
